# GENERATED BY: test/dependency_services/dependency_services_test.dart

$ cat pubspec.yaml
{"name":"app","dependencies":{"foo":"^1.0.0","bar":"^1.0.0","boo":"^1.0.0"},"environment":{"sdk":"^3.0.2"}}
$ cat pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  bar:
    dependency: "direct main"
    description:
      name: bar
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.2.3"
  boo:
    dependency: "direct main"
    description:
      name: boo
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.2.3"
  foo:
    dependency: "direct main"
    description:
      name: foo
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.2.3"
sdks:
  dart: ">=3.0.2 <4.0.0"
-------------------------------- END OF OUTPUT ---------------------------------

## Section list
$ echo '' | dependency_services list
{
  "dependencies": [
    {
      "name": "bar",
      "version": "1.2.3",
      "kind": "direct",
      "constraint": "^1.0.0",
      "source": {
        "type": "hosted",
        "description": {
          "name": "bar",
          "url": "http://localhost:$PORT"
        }
      }
    },
    {
      "name": "boo",
      "version": "1.2.3",
      "kind": "direct",
      "constraint": "^1.0.0",
      "source": {
        "type": "hosted",
        "description": {
          "name": "boo",
          "url": "http://localhost:$PORT"
        }
      }
    },
    {
      "name": "foo",
      "version": "1.2.3",
      "kind": "direct",
      "constraint": "^1.0.0",
      "source": {
        "type": "hosted",
        "description": {
          "name": "foo",
          "url": "http://localhost:$PORT"
        }
      }
    }
  ]
}

-------------------------------- END OF OUTPUT ---------------------------------

## Section report
$ echo '' | dependency_services report
{
  "dependencies": [
    {
      "name": "bar",
      "version": "1.2.3",
      "kind": "direct",
      "source": {
        "type": "hosted",
        "description": {
          "name": "bar",
          "url": "http://localhost:$PORT"
        }
      },
      "latest": "2.2.3",
      "constraint": "^1.0.0",
      "compatible": [],
      "singleBreaking": [
        {
          "name": "bar",
          "version": "2.2.3",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "bar",
              "url": "http://localhost:$PORT",
              "sha256": "18169c0899ff5f0551a80839dc1618e597a6ee4508a5065f9318dd2a2fda6455"
            }
          },
          "constraintBumped": "^2.2.3",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.2.3",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "bar",
              "url": "http://localhost:$PORT"
            }
          }
        }
      ],
      "multiBreaking": [
        {
          "name": "bar",
          "version": "2.2.3",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "bar",
              "url": "http://localhost:$PORT",
              "sha256": "18169c0899ff5f0551a80839dc1618e597a6ee4508a5065f9318dd2a2fda6455"
            }
          },
          "constraintBumped": "^2.2.3",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.2.3",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "bar",
              "url": "http://localhost:$PORT"
            }
          }
        }
      ]
    },
    {
      "name": "boo",
      "version": "1.2.3",
      "kind": "direct",
      "source": {
        "type": "hosted",
        "description": {
          "name": "boo",
          "url": "http://localhost:$PORT"
        }
      },
      "latest": "1.2.4",
      "constraint": "^1.0.0",
      "compatible": [
        {
          "name": "boo",
          "version": "1.2.4",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "boo",
              "url": "http://localhost:$PORT",
              "sha256": "ef7c87de426b725ed9eae829ce700a2335def6c0154fff04236f8bb5490e1422"
            }
          },
          "constraintBumped": "^1.0.0",
          "constraintWidened": "^1.0.0",
          "constraintBumpedIfNeeded": "^1.0.0",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "boo",
              "url": "http://localhost:$PORT"
            }
          }
        }
      ],
      "singleBreaking": [
        {
          "name": "boo",
          "version": "1.2.4",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "boo",
              "url": "http://localhost:$PORT",
              "sha256": "ef7c87de426b725ed9eae829ce700a2335def6c0154fff04236f8bb5490e1422"
            }
          },
          "constraintBumped": "^1.2.4",
          "constraintWidened": "^1.0.0",
          "constraintBumpedIfNeeded": "^1.0.0",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "boo",
              "url": "http://localhost:$PORT"
            }
          }
        }
      ],
      "multiBreaking": [
        {
          "name": "boo",
          "version": "1.2.4",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "boo",
              "url": "http://localhost:$PORT",
              "sha256": "ef7c87de426b725ed9eae829ce700a2335def6c0154fff04236f8bb5490e1422"
            }
          },
          "constraintBumped": "^1.2.4",
          "constraintWidened": "^1.0.0",
          "constraintBumpedIfNeeded": "^1.0.0",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "boo",
              "url": "http://localhost:$PORT"
            }
          }
        }
      ]
    },
    {
      "name": "foo",
      "version": "1.2.3",
      "kind": "direct",
      "source": {
        "type": "hosted",
        "description": {
          "name": "foo",
          "url": "http://localhost:$PORT"
        }
      },
      "latest": "2.2.3",
      "constraint": "^1.0.0",
      "compatible": [
        {
          "name": "foo",
          "version": "1.2.4",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT",
              "sha256": "0362935f659b1fd166b6036575bffd6e735cd9953eb60324192d1fdd4929b4c1"
            }
          },
          "constraintBumped": "^1.0.0",
          "constraintWidened": "^1.0.0",
          "constraintBumpedIfNeeded": "^1.0.0",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT"
            }
          }
        }
      ],
      "singleBreaking": [
        {
          "name": "foo",
          "version": "2.2.3",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT",
              "sha256": "893214328b7741cecc09046d6309aa894b4645099dd05d7f8e1a1dfa2799a6df"
            }
          },
          "constraintBumped": "^2.2.3",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.2.3",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT"
            }
          }
        }
      ],
      "multiBreaking": [
        {
          "name": "foo",
          "version": "2.2.3",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT",
              "sha256": "893214328b7741cecc09046d6309aa894b4645099dd05d7f8e1a1dfa2799a6df"
            }
          },
          "constraintBumped": "^2.2.3",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.2.3",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT"
            }
          }
        }
      ]
    }
  ]
}

-------------------------------- END OF OUTPUT ---------------------------------

## Section apply
$ echo '{"dependencyChanges":[{"name":"foo","version":"1.2.4"}]}' | dependency_services apply
{"dependencies":[]}

-------------------------------- END OF OUTPUT ---------------------------------

$ cat pubspec.yaml
{"name":"app","dependencies":{"foo":"^1.0.0","bar":"^1.0.0","boo":"^1.0.0"},"environment":{"sdk":"^3.0.2"}}
$ cat pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  bar:
    dependency: "direct main"
    description:
      name: bar
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.2.3"
  boo:
    dependency: "direct main"
    description:
      name: boo
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.2.3"
  foo:
    dependency: "direct main"
    description:
      name: foo
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.2.4"
sdks:
  dart: ">=3.0.2 <4.0.0"
